﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ElGee.Google.Charts;

namespace WebApp
{
    public static class AreaChartData
    {
        /// <summary>
        /// Gets the data source for a AreaChart.
        /// </summary>
        /// <returns></returns>
        public static ChartDataSource GetDataSource()
        {
            var ds = new ChartDataSource();

            // Horizontal Axis
            ChartDataTable dt = new ChartDataTable(TypeOfAxis.Horizontal, TypeOfColumn.String, "x Axis");
            dt.Data.Add("Jan");
            dt.Data.Add("Feb");
            dt.Data.Add("Mar");
            dt.Data.Add("Apr");
            dt.Data.Add("May");
            dt.Data.Add("Jun");
            dt.Data.Add("Jul");
            dt.Data.Add("Aug");
            dt.Data.Add("Sep");
            dt.Data.Add("Oct");
            dt.Data.Add("Nov");
            dt.Data.Add("Dec");
            ds.Tables.Add(dt);

            // Vertical Axis, we have 2 series
            dt = new ChartDataTable(TypeOfAxis.Vertical, TypeOfColumn.Number, "Sales 2009");
            dt.Data.Add("214.34");
            dt.Data.Add("219.01");
            dt.Data.Add("510.10");
            dt.Data.Add("420.47");
            dt.Data.Add("310.45");
            dt.Data.Add("410.47");
            dt.Data.Add("612.49");
            dt.Data.Add("524.47");
            dt.Data.Add("848.79");
            dt.Data.Add("689.47");
            dt.Data.Add("635.05");
            dt.Data.Add("812.42");
            ds.Tables.Add(dt);

            dt = new ChartDataTable(TypeOfAxis.Vertical, TypeOfColumn.Number, "Sales 2010");
            dt.Data.Add("234.34");
            dt.Data.Add("289.01");
            dt.Data.Add("470.10");
            dt.Data.Add("410.47");
            dt.Data.Add("420.45");
            dt.Data.Add("510.47");
            dt.Data.Add("512.49");
            dt.Data.Add("624.47");
            dt.Data.Add("748.79");
            dt.Data.Add("789.47");
            dt.Data.Add("835.05");
            dt.Data.Add("912.42");
            ds.Tables.Add(dt);

            return ds;
        }

        public static AreaChart GetOptions()
        {
            var chart = new AreaChart();
            chart.Style.Title = "Sales Comparaison";
            chart.Style.TitlePosition = TypeOfPosition.In;
            chart.Style.Height = 300;
            chart.Style.Width = 400;
            chart.Style.Colors.Add("#333333");
            chart.Style.Colors.Add("#33DD00");
            chart.Style.LineWidth = 2;
            return chart;
        }
    }
}